/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package converters;

import be.Producto;
import be.SubTipoProducto;
import java.util.ArrayList;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.ConverterException;

/**
 *
 * @author COLAO
 */
public class ProductoConverter implements Converter {

    public Object getAsObject(FacesContext arg0, UIComponent arg1, String string) throws ConverterException {
        if (string == null) {
            return null;
        }
        try {
            ArrayList<Producto> prods;
            prods = new ArrayList<Producto>();
            ArrayList<SubTipoProducto> subs;
            subs = new ArrayList<SubTipoProducto>();
            SubTipoProducto s1 = new SubTipoProducto();
            s1.setNombre("Escolar");
            SubTipoProducto s2 = new SubTipoProducto();
            s2.setNombre("Comercial");
            SubTipoProducto s3 = new SubTipoProducto();
            s3.setNombre("Construccion");
            subs.add(s1);
            subs.add(s2);
            subs.add(s3);
            for(int i = 0 ; i < subs.size(); i++){
                subs.get(i).setProductos(new ArrayList<Producto>());
                subs.get(i).setId(i+1);
                for(int j = 0; j < 3; j++){
                    Producto pro = new Producto();
                    pro.setId(i*3 + j + 1);
                    pro.setNombre(subs.get(i).getNombre() + " " + Integer.toString(j+1));
                    pro.setInteres((double) (j + 3.5));
                    pro.setSub(subs.get(i));
                    subs.get(i).getProductos().add(pro);
                    prods.add(pro);
                }
            }
            Integer codigo = Integer.parseInt(string);
            return prods.get(codigo-1);
        } catch (Exception e) {
            return null;
        }

    }

    public String getAsString(FacesContext arg0, UIComponent arg1, Object object) throws ConverterException {
        if (object == null) {
            return "1";
        }
        if (object instanceof Producto) {
            return ((Producto) object).getId().toString();
        } else {
            return "l";
        }
    }

}
